home *** CD-ROM | disk | FTP | other *** search
/ Channel Z 3 / Channel Z - Issue 3 (1993-01)(Daz)(Disk 2 of 2).adf / huge.doc / huge.doc
Text File  |  1992-09-02  |  15KB  |  258 lines

  1.                            Table of contents
  2.  
  3. A. Introduction
  4. B. Setup
  5. C. Drawing
  6. D. Using menus
  7. E. Requirements
  8. F. Next generation
  9.  
  10.  
  11.   A. Introduction
  12.  
  13.   Welcome in the world of UPRIGHT!. This is the first of many to come
  14. public release. Huge v1.0 is a powerful tool, in the right hands that is.
  15. I started developping Huge as a source utility, releiving me of the pain of
  16. designing and using gadgets and other imagery in my programs. Such a 
  17. program should allow the use of the various display modes that Amiga has,
  18. and let the user choose the number of colors and the colors themselves.
  19. This way, the user is free to choose what screen his program is going to
  20. open in, and design his gadgets knowing from the beginning how the will
  21. look like. The main goal now is making gadgets look great, making life
  22. beautiful that is. In the first stages, months ago, the program could only
  23. draw something and save it in ASCII, in a format that could be inserted in
  24. a C source program and compiled properly. Then I realised that it was dead
  25. easy once I had the kernel, to be able to handle any other type of imagery
  26. Amiga users encounter: icons, sprites, brushes. Huge is able to load any
  27. kind of these, alter it and save it back, in the same or other format.
  28. Images and sprites are in fact C source data, the rest are standard Amiga
  29. formats.
  30.   Huge is able to differenciate between PAL & NTSC Amigas. It takes advan-
  31. tage of PAL's excess number of display lines to create greater images, so
  32. Europeans will have higher imagery than the Americans.
  33.  
  34.  
  35.   B. Setup
  36.   
  37.   When the user starts Huge, either from Workbench or CLI, two screens open,
  38. one for the gadgets and menus, the other for drawing.
  39.   The gadget screen is seperate, so the imagery can survive any user confi-
  40. guration of colors and resolution. There are two groups of gadgets, those
  41. for various operations, and those for the drawing tool used. Four menus
  42. complete the display.
  43.   The drawing screen consists of some color selection gadgets, the zoom
  44. window and the actual image window.
  45.   If Huge cannot find a preferences file, it defaults editing an image, in
  46. a HIRES non-interlaced screen with 8 default colors. The type of object
  47. being edited has nothing to do with the actual drawing, it only affects the
  48. methods of input and output to disks. The primary selections the user should
  49. make, are screen mode, palette, and object type. These preferences can be 
  50. saved, so that they don't have to be changed every time the program is run.
  51.  
  52.  
  53.   C. Drawing
  54.  
  55.   Once screen mode and colors are selected, we are ready to begin. Various
  56. drawing tools are available: points, lines, boxes, circles, ellipses and
  57. connected lines. Just select the gadget and you got the corresponding tool.
  58. Coordinates for drawing can be input either from the zoom window or the 
  59. image window. Only for points zoom is updated immediately, in the other
  60. cases zoom is updated after the sequence is over. Still coordinates can be
  61. input in zoom window, only the drawing is temporarily invisible. All tools
  62. behave as in every drawing program. Note that circle radious is decided only
  63. by the vertical distance from the center. Right mouse button is used to 
  64. indicate end of a line in the connected lines tool.
  65.   The color used can be altered by hitting a color gadget. The deeper the
  66. screen, the more colors you get. For screens with few colors, a primitive
  67. dithering technique can be used (in fact checkered). Selecting background
  68. color from the special menu, and setting pattern active gives this ability.
  69. This mixed color is used in every line, point or fill operation, until 
  70. another color combination is selected, or the pattern mode is made inactive.
  71. A little bug here, circles and ellipses don't comply to pattern, they just
  72. use foreground color instead. Well, that's Amiga's bug, note Huge's.
  73.   The zoom window initially magnifies the upper left corner of the image.
  74. Selecting the magnify operation gadget, enables you to alter the spot which
  75. is currently magnified. A small box appears in the image window, whose size
  76. reflects the magnify ratio. Use the pointer to alter it's position and
  77. click the left mouse button. The new position is now established. Again,
  78. coordinates can be input either in zoom or in image window.
  79.   Huge has got text editors' capabilities of cutting and pasting. Use cut
  80. operation gadget to define a rectangla area: first select the upper left 
  81. position and then the cut size. Selection is done in the same way as for
  82. zoom window. This rectangle is copied to the clip buffer, and can be after-
  83. wards pasted any number of times, until something new is cut. You can paste
  84. this in the same image, or in the image behind it. Well, now you heard a new
  85. thing, 'the image behind the image'. The lower right operation gadget rese-
  86. mbles the front-back gadget of an intuition window, but in this program is
  87. used to bring up the 'other image'. In this way they don't have to be
  88. simultaneously present, increasing the available space for drawing. The
  89. second image is necessary for icons with alternate image, or simply as a
  90. backup area for comparisons, or whatever you like. So the clipped rectangle
  91. can be pasted to either one of the images, even to an image loaded later,
  92. provided that screen mode hasn't been changed.
  93.   There are various paste modes, activated from the special menu item
  94. 'Paste mode'. Jam #2 completely overwrites the paste over the image, and
  95. inverse video does the same, inverting the paste colors. Jam #1, and 
  96. Complement are nasty; the certain thing is that the background (color 0) of
  97. the paste, will not harm the image, but the rest colors are difficult to
  98. predict. In general, they will be different than any of the paste's or
  99. image's, but anyway some good results can be achieved.
  100.   The fill operation gadget, flood fills the image with whatever color or
  101. pattern is selected. You are asked to input a point, the center of the
  102. flood fill. Again you select the point by clicking where you want. The zoom
  103. window is particularly useful for small areas.
  104.   The palette operation gadget is pretty obvious, and tha strange looking
  105. next to it is to bring Workbench in front for whatever you like it to.
  106.   In the second row of operation gadgets there are two mirrors, left-right
  107. and up-down and two rotators, anti-clockwise and clockwise. Every operation
  108. expects a rectangle area to be input first, like in cutting, and then acts
  109. on it. The rotated version will have common the upper left corner with the
  110. original. Note that when there is difference between vertical and horizontal
  111. screen resolution, the rotated version will be a bit stretched. Best results
  112. are achieved in full-HIRES mode or in full-LORES, when resolutions are same.
  113.   Finally the undo gadget does that. There is no possibility of un-undo,
  114. once you undo you can't get back to what you had.
  115.   
  116.   
  117.   D. Using menus
  118.   
  119.   Till this point you have heard many things about menus, now the rest will
  120. be explained. Let's start from the beginning.
  121.  
  122.   a. Project menu
  123.   Here object is selected, as well as input and output to drives.  
  124.   When some objects (ie. icons and sprites) are selected, the screen mode
  125. may have to change. That is because icons are to be seen in Workbench screen
  126. (HIRES, non interlaced) and sprites are always displayed in full LORES. Thus
  127. if screen mode is different than these, there won't be any relation between
  128. what you see when you draw and what you see when you use it. The rest objects
  129. put no restictions in screen mode. The brush object is mainly included to
  130. load brushes, designed by a heavy paint program and use it as an icon or
  131. image. Still brushes can be saved, but I don't think there will be users 
  132. making brushes out of this program. Finally the bob object is tricky; you 
  133. cannot select it, because it doesn't exsist as far as Huge is concerned. I
  134. couldn't make out the Bob (used by AmigaBASIC) format, it is only there for
  135. the second version of this editor.
  136.   The object selected decides the method of loading and saving. Whatever
  137. object is selected, that format is expected by the loader, who will com-
  138. plaint otherways, and the saver.
  139.   Now we come to the main attraction of this program, the OS input-output
  140. routines. I dare to say that they are simply a masterpiece, and by far the
  141. most difficult task I had to complete in this program. Huge maintains and
  142. updates internally, lists of every device, assigned directory and volume of
  143. the Amiga. It can tell if a volume is mounted or write protected, or if a
  144. drive is empty. I assure you that unless you do something extremely stange,
  145. you will never see an OS requester, and this is all for the better because
  146. they are very ugly. Instead a fine scrolling message will inform you of what
  147. is going on.
  148.   The loader permits you to enter input while reading. It functions as every
  149. other loader you have seen on Amiga, but it is the prettiest of all. Thanks
  150. to newtec for the idea, but guys I went a lot further.
  151.   The directory that input and output takes place, is initially that which
  152. contains Huge, in the progress can be altered by loader or saver, or even
  153. evaporate. So if sometime you enter a name in 'save as ' and the screen
  154. flashes, provide a full path instead, for the program has no directory.
  155.   In order to save something first you have to enter a valid filename, and
  156. if all is OK, select in the usual way the portion of the image to save.  
  157.  
  158.   b. Preferences menu
  159.   You can alter the screen mode with this menu. When you select the screen
  160. mode item, a requester appears, from which you can select resolution and
  161. number of colors. The number of colors is decided by the depth gadgets, get
  162. deeper for more colors. The formula is 
  163.                           colors = 2 ^ depth
  164. that is an increase in depth by one, doubles the colors available. The 
  165. 'WB mode' option gives you a standard workbench for editing icons, or 
  166. whatever you like to open in the workbench screen. When you are through 
  167. selecting click OK gadget, or CANCEL to exit. Almost every selection has
  168. these two gadgets, OK in the top left corner and CANCEL next to it. The
  169. drawing screen is completely reset, so you had better save all you have
  170. drawn before. If you forget, Huge will tell you. If the current object that
  171. is edited is icon or sprite, the screen mode cannot be changed, for the
  172. reasons I explained, so if you want WB mode, first select it by setting an
  173. object (temporarily) that permits screen changes, and then change object to
  174. icon.
  175.   Next are some items for opening and closing Workbench screen when possible
  176. for memory conservation purposes.
  177.   Images and sprites (C source) are saved without any palette information,
  178. so a programmer will need the palette registers as well as the image data.
  179. There is a save palette option for that, and a load palette, if you want
  180. another palette. Again the format can be understood by any C compiler. In
  181. the case of sprites, keep in mind that sprites use color registers 16 and
  182. further up, so the for colors saved must be entered in the proper registers.
  183. Also the fourth colour is transparent, no matter what you see in the editor.
  184.   Save preferences can be used to save the current preferences, and use them
  185. as default the next time. Preferences include object edited, screen
  186. resolution and depth, and finally palette. The preferences file is named
  187. 'huge.preferences' and must be in the same directory as the program. Note 
  188. that if you choose 'Save preferences' and you have changed the initial
  189. directory by any means, the preferences file will be written there, and not
  190. in the initial directory. This call only checks if Huge has a directory not
  191. write protected and saves, else beeps. Whenever you see a beep, something
  192. went wrong.
  193.  
  194.   c. Icon menu
  195.   This menu is active only when the object selected is icon. You can specify
  196. various icons characteristics as in any icon editor. Note that if Image is
  197. selected for highlighting, then the visible image is saved as primary icon
  198. and the hidden as secondary (selected) icon.
  199.  
  200.   d. Special menu
  201.   Here there are various special effects.
  202.   Background color, lets the user select the background color which is used
  203. for pattern line drawing and filling, when pattern mode is on. Once you se-
  204. lect this item nothing is done, but the next time you choose a color gadget
  205. this will be interpreted as the background color. If pattern mode is active,
  206. this will be used as the background of images and fills.
  207.   Pattern active item is toggle select, you can turn it on and off. It's 
  208. initial state is off. When it is on, drawing routines use a 0xaaaa pattern,
  209. if this means anything to you, or with other words one pixel is with fore-
  210. graound color, the other is with background color. When this mode is active
  211. you can select and change the foreground color, as in normal mode, but if
  212. you want to change the background color, you have to select the previous 
  213. item.
  214.   I have already explained the use of paste mode. The last item, grid color,
  215. is something like background color, ie. once you select it nothing happens
  216. and the next color you select doesn't become foreground color, but the grid
  217. lines are redrawn in this color. Normally Huge uses the last color for grid
  218. lines, but sometimes this color ruins the display.  
  219.  
  220.  
  221.   F. Requirements
  222.  
  223.   Huge, as any other program involving screens is memory hungry. If the
  224. program exits with no obvious reason, there was a memory allocation error
  225. while trying to find screen memory. Closing Workbench is a good idea, or
  226. switching off any external drives.
  227.   For the icon stuff to work, icon.library must be in the current libs:
  228. directory, otherways Huge won't run.
  229.   Finally I observed that when FastFonts is installed, the scrolling mes-
  230. sages get jerky. If you get jerky scrollings, check your startup-sequence
  231. for FF. If this is the case, run FF -n from CLI and the scroll will be fine.
  232. I didn't check the scroll with the old agnus chip (I have an A2000 with
  233. FAT agnus), so if anybody with old agnus gets any jerky scrolls, let me
  234. know. 
  235.  
  236.  
  237.   F. Next generation
  238.   
  239.   This program is great, but it can get better. Possible improvements I have
  240. in mind are ability of entering text, improved palette (copy colors, make
  241. shades), and yet more objects, like some format AMOS can understand. I know
  242. AMOS has a sprite editor, but it is comparatively small, and how can one
  243. design a Huge end of level guardian?. Finally some modes for assembly lan-
  244. guage source files. The numbers themselves are the same as for C, but they
  245. need some format manipulation, so assemblers will understand them.
  246.   Please let me know your opinions, bug reports, and praises. I don't ask
  247. for money, just the fame. I want to have people drinking in my name.
  248. Using Huge properly will improve the looks of the new programs to come,
  249. designing beautiful gadgets, as these in Huge. No wonder that they were made
  250. with the program itself. Make life beautiful.
  251.  
  252.                               UPRIGHT!
  253.                               5 Gregoriou E St.,
  254.                               GR 54 248 THESSALONIKI
  255.                               GREECE
  256.  
  257. Tuesday 27 November 1990
  258.